package cn.yuanqiao.archive.storeRoom.mapper;

import cn.yuanqiao.archive.storeRoom.domain.Box;
import cn.yuanqiao.archive.storeRoom.domain.TechnicalTreatment;
import cn.yuanqiao.archive.storeRoom.domain.TechnicalTreatmentVo;
import cn.yuanqiao.archive.storeRoom.domain.UpDownShelves;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author GW
 * @since 2024-04-16
 */
@Mapper
public interface TechnicalTreatmentMapper {

    int save(TechnicalTreatment technicalTreatment);

    List<Long> findById(@Param("id") Long id, @Param("tableName") String tableName);

    int deleteById(@Param("ids") List<Long> ids, @Param("id") Long id, @Param("tableName") String tableName);

    int removeById(@Param("ids") List<Long> ids , @Param("tableName") String tableName);

    int updateById(TechnicalTreatment technicalTreatment);

    List<UpDownShelves> getDangAnListH(@Param("box") Box box, @Param("code") String code);

    List<UpDownShelves> getDangAnListJ(@Param("box") Box box, @Param("code") String code);

    int updateStatus(@Param("ids") List<Long> ids, @Param("status") Integer status, @Param("code") String code);

    TechnicalTreatmentVo findByIdJS(@Param("id") Long id, @Param("tableName") String tableName);

    int updateNum(@Param("ids") List<Long> ids, @Param("tableName") String tableName, @Param("boxTableName") String boxTableName);

    List<TechnicalTreatmentVo> findByPage(TechnicalTreatment technicalTreatment);

    int saveByZjb(@Param("id") Long id, @Param("ids") List<Long> ids, @Param("treatmentYqBoxTableName") String treatmentYqBoxTableName);

    int removeByZjb(@Param("id") Long id, @Param("ids") List<Long> ids, @Param("treatmentYqBoxTableName") String treatmentYqBoxTableName);

    int findByCount(@Param("batchNum") String batchNum, @Param("tableName") String tableName);

    int createTable(@Param("tableName") String tableName);
    int createTableTreatmentYqBox(@Param("tableName") String tableName);

    int updateByDa(@Param("technicalTreatment") TechnicalTreatment technicalTreatment, @Param("tableName") String tableName);
}
